#include <iostream>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <time.h>
#include "common.h"
#include "CommFunc.h"

/////////////////////////////////////////////////////////////////////////////
// function
/////////////////////////////////////////////////////////////////////////////
bool	safe_copy(char * p_target, const char * p_source, int n_buf_len /*= 0*/)
{
	try{
		if(p_target)
		{
			p_target[0] = 0;
			if(p_source)
			{
				if(n_buf_len && (int)strlen(p_source) >= n_buf_len)
				{
					strncpy(p_target, p_source, n_buf_len-1);
					p_target[n_buf_len-1] = 0;
					return false;
				}
				strcpy(p_target, p_source);
				return true;
			}
		}
	}catch(...){ ::log_save("CATCH: *** safe_copy() crash! ***\n"); }
	
	assert(!"safe_copy()");
	return false;
}

bool add_char(char* p_target, char c_data, int n_buf_len)
{
	try{
		if(p_target && c_data)
		{
			int n_size = strlen(p_target);
			if(n_buf_len && n_size >= n_buf_len - 1)
				return false;
			p_target[n_size] = c_data;
			p_target[n_size+1] = 0;
			return true;
		}
	}catch(...){ ::log_save("CATCH: *** add_char() crash! ***\n"); }
	
	assert(!"add_char()");
	return false;
}





